package com.woniuxy.charin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniuxy.charin.model.dto.UserAddDto;
import com.woniuxy.charin.model.dto.UserInfoDto;
import com.woniuxy.charin.model.entity.Permission;
import com.woniuxy.charin.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.charin.model.vo.LoginRequest;
import com.woniuxy.charin.model.vo.UserInfoVo;
import com.woniuxy.charin.model.vo.UserVo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
* @author KOO
* @description 针对表【user】的数据库操作Service
* @createDate 2024-12-25 17:24:20
*/
public interface UserService extends IService<User> {



    UserVo login(LoginRequest param, HttpServletRequest request);

    Map<String, String> getCode();

    UserVo findById(Long userId);

    List<Permission> getNaviMenuByUser(Long userId);

    Page<UserInfoVo> queryUser(UserInfoDto userInfoDto);

    void addUser(UserAddDto userAddDto,Long userId);

    void updadteUser(UserInfoVo userInfoVo);

    void lock(Integer id);


    void batchLock(Integer[] deleteIds);

    void batchActivate(Integer[] deleteIds);

    void logout(String authorization, HttpServletRequest request);
}
